package com.ruikong.dazhi.service.basicinfo;



import com.github.pagehelper.PageInfo;
import com.ruikong.dazhi.controller.result.BaseResult;
import com.ruikong.dazhi.entity.basicinfo.Line;
import com.ruikong.dazhi.model.input.LinePageInput;
import com.ruikong.dazhi.model.output.LineOutput;
import com.ruikong.dazhi.model.output.ShopLineOutput;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * (Line)表服务接口
 *
 * @author Hassion.Tang
 * @since 2020-07-01 14:34:13
 */
public interface ILineService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Line queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    List<Line> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param line 实例对象
     * @return 实例对象
     */
    Integer insert(Line line);

    /**
     * 修改数据
     *
     * @param line 实例对象
     * @return 实例对象
     */
    Integer update(Line line);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    /**
     * Description: 产线信息分页
     * @Param: [baseInputPage]
     * @Return: com.github.pagehelper.PageInfo<com.ruikong.cpisystem.model.Line>
     * @Author: Hassan.Tang
     * @Date: 2020/7/1 14:49
     **/
    PageInfo<Line> getLinePageInfo(LinePageInput input);

    /**
     * Description:判断当前产线编码是否已经存在
     * @Param: [line]
     * @Return: java.lang.Integer
     * @Author: Hassan.Tang
     * @Date: 2020/7/1 14:49
     **/
    Integer isExist(Line line);

    List<Line> getLineList();

    List<ShopLineOutput> getShopLineTree();

    List<Line>  getLineListByShop(Integer id);

    List<Line> getLineByLineType(Integer lineType);

    List<LineOutput> getPackageOrderNumberByLine();
    List<LineOutput> getLineNameByState();

    BaseResult lineImport(MultipartFile file, Integer personnelId);
}